/**
 * XQuery to Scala Translator
 * Fatemeh Borran-Dejnabadi
 * 9 November 2004
 */

package xquery2src;

/** This class defines all token classes of xquery2src.
 */
trait Tokens {

  val EOF           = -1; // end of file
  val BAD           =  0; // unknown token
  
  val IDENT         =  1; // identifier
  val NUMBER        =  2; // number
  val STRING        =  3; // string
  
  val DOC           = 10; // doc
  val DOCUMENT      = 11; // document
  val MIN           = 12; // min
  val MAX           = 13; // max
  val COUNT         = 14; // count
  val SUM           = 15; // sum
  val AVG           = 16; // avg
  val NOT           = 17; // not
  val EMPTY         = 18; // empty
  val EXISTS        = 19; // exists
  val DISTINCT      = 20; // distinct-values
  val POSITION      = 21; // position
  val CONTAINS      = 22; // contains
  val STARTSWITH    = 23; // starts-with
  val ENDSWITH      = 24; // ends-with
  val TEXT          = 25; // text
  
  val PLUS          = 40; // '+'
  val MINUS         = 41; // '-'
  val TIMES         = 42; // '*'
  val DIV           = 43; // 'div'
  val IDIV          = 44; // 'idiv'
  val MOD           = 45; // 'mod'
  val ASSIGN        = 46; // ':='
  val EQUAL         = 47; // '='
  val NOTEQUAL      = 48; // '!='
  val LTHAN         = 49; // '<'
  val GTHAN         = 50; // '>'
  val LETHAN        = 51; // '<='
  val GETHAN        = 52; // '>='
  val AND           = 53; // 'and'
  val OR            = 54; // 'or'
  
  val LPAREN        = 60; // "("
  val RPAREN        = 61; // ")"
  val LBRACKET      = 62; // '['
  val RBRACKET      = 63; // ']'
  val LACOLAD       = 64; // '{'
  val RACOLAD       = 65; // '}'
  val DOLLAR        = 66; // '$'
  val ATSIGN        = 67; // '@'
  val SLASH         = 68; // '/'
  val DSLASH        = 69; // '//'
  val COMMA         = 70; // ','
  val QUOT          = 71; // '"'

  val FOR           = 80; // "for"
  val LET           = 81; // "let"
  val WHERE         = 82; // "where"
  val ORDER         = 83; // "order"
  val BY            = 84; // "by"
  val RETURN        = 85; // "return"
  val IF            = 86; // "if"
  val THEN          = 87; // "then"
  val ELSE          = 88; // "else"
  val EVERY         = 89; // "every"
  val SOME          = 90; // "some"
  val IN            = 91; // "in"
  val SATISFIES     = 92; // "satisfies"
  val ASCENDING     = 93; // "ascending"
  val DESCENDING    = 94; // "descending"
  
}
